package com.zhuo.project.order.service;

import java.util.List;

import com.zhuo.project.order.domain.ZzDiagnoseHead;
import com.zhuo.project.order.domain.ZzDiagnoseSend;
import com.zhuo.project.order.domain.ZzTask;
import com.zhuo.project.order.dto.k3.SendDeliveryInfo;
import com.zhuo.project.order.dto.k3.SendK3Dto;
import com.zhuo.project.order.dto.k3.SendK3Info;

/**
 * 处方单发药明细Service接口
 * 
 * @author zhuo
 * @date 2020-03-26
 */
public interface IZzDiagnoseSendService 
{
    /**
     * 查询处方单发药明细
     * 
     * @param id 处方单发药明细ID
     * @return 处方单发药明细
     */
    public ZzDiagnoseSend selectZzDiagnoseSendById(Long id);

    /**
     *
     * @param sendId
     * @param itemNo
     * @param materialId
     * @return
     */
    public ZzDiagnoseSend selectZzDiagnoseSendByItemNo(String sendId,Integer itemNo,String materialId);

    public List<ZzDiagnoseSend> selectZzDiagnoseSendBySendId(String sendId);

    public int batchUpdate(List<ZzDiagnoseSend> list);
    /**
     * 查询处方单发药明细列表
     * 
     * @param zzDiagnoseSend 处方单发药明细
     * @return 处方单发药明细集合
     */
    public List<ZzDiagnoseSend> selectZzDiagnoseSendList(ZzDiagnoseSend zzDiagnoseSend);

    public List<ZzDiagnoseSend> selectZzDiagnoseSendListByDiagnoseId(String diagnoseId);

    /**
     * 新增处方单发药明细
     * 
     * @param zzDiagnoseSend 处方单发药明细
     * @return 结果
     */
    public int insertZzDiagnoseSend(ZzDiagnoseSend zzDiagnoseSend);

    /**
     *
     * @param zzDiagnoseSendList
     * @return
     */
    public int batchInsertZzDiagnoseSend(List<ZzDiagnoseSend> zzDiagnoseSendList);

    /**
     *
     * @param sendId
     */
    public void deleteBySendId(String sendId);



    /**
     * 修改处方单发药明细
     * 
     * @param zzDiagnoseSend 处方单发药明细
     * @return 结果
     */
    public int updateZzDiagnoseSend(ZzDiagnoseSend zzDiagnoseSend);

    public void sendDelivery2K3(ZzTask zzTask) throws Exception;

    /**
     * 批量删除处方单发药明细
     * 
     * @param ids 需要删除的处方单发药明细ID
     * @return 结果
     */
    public int deleteZzDiagnoseSendByIds(Long[] ids);

    /**
     * 删除处方单发药明细信息
     * 
     * @param id 处方单发药明细ID
     * @return 结果
     */
    public int deleteZzDiagnoseSendById(Long id);

}
